//本store，用于存储登录用户的所有个人信息user，以及操作user的方法
import { defineStore } from 'pinia'
import { ref, reactive } from 'vue'

//实例化一个存储信息的对象userStore
const userStore = defineStore(
    "userStore",
    () => {
        //userStore实例中的属性：userInfo对象
        let LoginUser = reactive(
            {
                id: "", 
                username: "",
            }
        )
        //userStore实例中的方法1：设置user对象
        const setUser = (newUser) => {
            //根据传入参数user的属性，修改上面的user
            LoginUser.id = newUser.id;
            LoginUser.username = newUser.username;
        }

        const getUser = () => {
            return LoginUser;
        }

        //userStore实例中的方法2：清除user对象的属性
        const clearUser = () => {
            LoginUser.id = "";
            LoginUser.username = "";
        }
        
        return {
            LoginUser,
            setUser,
            getUser,
            clearUser
        }
    },{
        persist: true, //开启持久化
    })

//导出userStore
export default userStore